package com.canyou.enums;

import lombok.Getter;
import lombok.ToString;

/**
 * 性别
 *
 * @author cd
 */
@Getter
@ToString
public enum SexEnum {

    /**
     * 未知
     */
    UN_KNOWN(0, "未知"),

    /**
     * 男
     */
    MALE(1, "男"),

    /**
     * 女
     */
    FEMALE(2, "女");


    /**
     * 性别枚举
     *
     * @param code 性别
     * @param value  值
     */
    SexEnum(final Integer code, final String value) {
        this.code = code;
        this.value = value;
    }

    private String value;
    private Integer code;

    /**
     * 根据 code 获取对应性别
     *
     * @param code
     * @return
     */
    public static SexEnum valueOf(Integer code) {
        SexEnum[] enums = SexEnum.values();
        for (SexEnum sexEnum : enums) {
            if (sexEnum.getCode().equals(code)) {
                return sexEnum;
            }
        }
        return SexEnum.UN_KNOWN;
    }

    /**
     * 根据 code 获取对应性别
     *
     * @param value
     * @return
     */
    public static Integer codeOf(String value) {
        SexEnum[] enums = SexEnum.values();
        for (SexEnum sexEnum : enums) {
            if (sexEnum.getValue().equals(value)) {
                return sexEnum.code;
            }
        }
        return SexEnum.UN_KNOWN.code;
    }
}
